Skip to main content
Version: 12.10.0

Overview of used Tools, Services and Concepts

Navida Pro Platform monitoring setup provides a comprehensive view of the application's performance, health, and behavior by utilizing a combination of open-source tools that specialize in metrics collection, visualization, distributed tracing, and log management. Here's an overview of each component and how they contribute to the complete monitoring solution:

Prometheus

Function: Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, and powerful alerting functionality. Role in Setup: It collects and stores metrics as time series data from your Spring Boot applications. Metrics can include various indicators such as response times, request rates, error rates, system resource usage, and custom business metrics. Integration: Prometheus integrates with Spring Boot applications through client libraries that expose the necessary endpoints for Prometheus to scrape metrics.

Grafana

Function: Grafana is an open-source analytics and interactive visualization web application that provides charts, graphs, and alerts for the web when connected to supported data sources. Role in Setup: It serves as the visualization layer for the metrics collected by Prometheus. Grafana allows you to create dashboards that provide real-time insights into application performance and system health. Integration: Grafana is configured to use Prometheus as a data source, enabling you to query and visualize the metrics Prometheus collects.

Jaeger

Function: Jaeger is an open-source, end-to-end distributed tracing system that helps you monitor and troubleshoot transactions in complex distributed systems. Role in Setup: Distributed tracing with Jaeger allows you to track individual requests as they flow through the various components of your microservices architecture. This helps in understanding the latency contributions of different services and in identifying performance bottlenecks. Integration: Your Spring Boot applications are instrumented to send trace data to Jaeger, which collects, stores, and visualizes the trace information.

OpenSearch (formerly known as Elasticsearch)

Function: OpenSearch is an open-source search and analytics suite derived from Elasticsearch and Kibana. It's used for log ingestion, storage, and real-time analysis. Role in Setup: All application logs are exported to OpenSearch, which enables you to perform complex searches, monitor log trends, and set up alerts based on log data patterns. Integration: Your applications are configured to forward logs to OpenSearch, possibly using data shippers like Fluentd, Logstash, or OpenSearch agents.

Complete Monitoring Overview

This setup provides a 360-degree view of your application's operational status:

Metrics: Prometheus captures detailed metrics from your applications, which are then visualized in Grafana for real-time monitoring and alerting. Tracing: Jaeger provides insights into the flow of requests through your distributed system, making it easier to pinpoint failures and performance issues. Logging: OpenSearch aggregates and stores logs, allowing for powerful searching and analysis to understand application behavior and diagnose issues. This combination of tools forms a robust monitoring ecosystem that supports proactive issue resolution, performance optimization, and maintaining high availability. It's a well-rounded approach that covers the three pillars of observability: metrics, traces, and logs.

By leveraging these tools together, we can ensure that we have a detailed understanding of your system's health and can quickly respond to any anomalies that may arise, thereby maintaining a high level of service reliability and a positive user experience.